﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using SAAC.DTO;
using SAAC.BLL;

namespace SAAC.Funcionario
{
    public partial class OutrosRequerimentos : System.Web.UI.Page
    {

        const string MATRICULA_SESSION = "MATRICULA_SESSION";

        protected void Page_Load(object sender, EventArgs e)
        {
            gerenciaVisibilidadeComponentesMaster();
            if (!IsPostBack)
            {
                
                carregarGridOutrosRequerimentos();
            }

        }
        private void gerenciaVisibilidadeComponentesMaster()
        {
            Menu menuAluno = (Menu)Master.FindControl("MenuAluno");
            menuAluno.Visible = false;
            Menu menuFuncionario = (Menu)Master.FindControl("MenuFuncionario");
            menuFuncionario.Visible = true;
            Menu menuProfessor = (Menu)Master.FindControl("MenuProfessor");
            menuProfessor.Visible = false;

            LinkButton link = (LinkButton)Master.FindControl("lkbCadastro");
            link.Visible = false;
        }

        #region gvwOutrosRequerimentos

        private void carregarGridOutrosRequerimentos()
        {
            var dtoRequerimento = new RequerimentoDTO();
            var bllRequerimento = new RequerimentoBLL();
       
            var listaRequerimentos = new List<RequerimentoDTO>();

            listaRequerimentos = bllRequerimento.SelectAll(dtoRequerimento, null, 1000);

            gvwOutrosRequerimentos.DataSource = listaRequerimentos;
            gvwOutrosRequerimentos.DataBind();
            
        }

        protected void gvwOutrosRequerimentos_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (gvwOutrosRequerimentos.SelectedRow.Cells[7].Text.Equals("&nbsp;"))
            {
                pnlRequerimento.Visible = true;
                txtId.Text = gvwOutrosRequerimentos.SelectedRow.Cells[1].Text;
                txtMatriculaAluno.Text = gvwOutrosRequerimentos.SelectedRow.Cells[2].Text;
                txtDataAbertura.Text = gvwOutrosRequerimentos.SelectedRow.Cells[3].Text;
                if (gvwOutrosRequerimentos.SelectedRow.Cells[4].Text == "&nbsp;")
                    txtFechamento.Text = string.Empty;
                else
                    txtFechamento.Text = gvwOutrosRequerimentos.SelectedRow.Cells[4].Text;
                txtStatus.Text = gvwOutrosRequerimentos.SelectedRow.Cells[5].Text;
                txtComentarios.Text = gvwOutrosRequerimentos.SelectedRow.Cells[6].Text;
                lblMensagem.Text = string.Empty;
            }
            else
            {
                pnlRequerimento.Visible = false;
                lblMensagem.Text = "Requerimento já foi iniciado por outro Funcionário";
            }
        }

     
        #endregion

        protected void btnIniciarMeuRequerimento_Click(object sender, EventArgs e)
        {
            
            var dtoRequerimento = new RequerimentoDTO();
            var bllRequerimento = new RequerimentoBLL();

            dtoRequerimento.Id = Convert.ToInt32(txtId.Text);
            dtoRequerimento.Abertura = Convert.ToDateTime(txtDataAbertura.Text);
           
            dtoRequerimento.Status = EStatusRequerimento.EmAnalise;
            dtoRequerimento.Comentarios = txtComentarios.Text;

            dtoRequerimento.FuncionarioAvaliador = new FuncionarioDTO();
            dtoRequerimento.FuncionarioAvaliador.Matricula = (int)Session[MATRICULA_SESSION];

            dtoRequerimento.AlunoRequerinte = new AlunoDTO();
            dtoRequerimento.AlunoRequerinte.Matricula = Convert.ToInt32(txtMatriculaAluno.Text);

            bllRequerimento.Update(dtoRequerimento);

            lblMensagem.Text = "Requerimento foi iniciado, verifique sua lista em Meus Requerimentos";

        }

       



    }
}